const jwt=require('jsonwebtoken')

module.exports=()=>{
    return async (ctx,next)=>{
        //设置不需要拦截的白名单
        let writePath=['/login','/register']
        //如果请求路径中有白名单的路径
        if(writePath.includes(ctx.path)){
            await next()
        }else{
            //尝试
            try {
                //解密token
                let user=jwt.verify(ctx.headers.token,'secret')
                await next()
            } catch (error) {
               // console.log(error,'--------')
                if(error.name==='JsonWebTokenError'){
                    ctx.status=401 //权限不够
                }
            }
        }
    }
}